<template>
  <div class="box4" ref="map"></div>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue'
import * as echarts from 'echarts'
//引入中国地图的json数据
import chinaJSON from './china.json'
import chinaCityJSON from './china_city.json'

//获取节点
let map = ref()
//注册中国地图
//@ts-ignore
echarts.registerMap('china', chinaJSON)

onMounted(() => {
  //获取echarts类的实例
  let mychart = echarts.init(map.value)
  //设置实例的配置项
  mychart.setOption({
    //地图组件
    geo: {
      map: 'china',
      roam: true,
      zoom: 1.4,
      left: 170,
      top: 150,

      //地图上的文字的设置
      label: {
        show: true,
        color: 'white',
        fontSize: 14
      },
      //地图区域的多边形 图形样式
      itemStyle: {
        color: {
          type: 'radial',
          x: 0.5,
          y: 0.5,
          r: 0.5,
          colorStops: [
            {
              offset: 0,
              color: 'red' // 0% 处的颜色
            },
            {
              offset: 1,
              color: 'blue' // 100% 处的颜色
            }
          ],
          global: false // 缺省为 false
        }
        // normal: {
        //     areaColor: '#031525',
        //     borderWidth: 1,
        //     borderColor: '#00CFFC',
        // },
        // emphasis: {
        //     areaColor: '#2B91B7',
        // }
      },

      //地图高亮的效果
      emphasis: {
        itemStyle: {
          color: 'red'
        },
        label: {
          fontSize: 18,
          color: 'black'
        }
      }
    },
    //布局位置
    grid: {
      left: 0,
      top: 0,
      right: 0,
      bottom: 0
    },
    //系列
    series: [
      {
        type: 'lines', //路径图

        data: [
          {
            coords: [
              [116.405285, 39.904989], // 起点
              [87.617733, 43.792818] // 终点
            ],
            // 统一的样式设置
            lineStyle: {
              color: 'yellow',
              width: 2
            }
          },
          {
            coords: [
              [121.472644, 31.231706], // 起点
              [108.948024, 34.263161] // 终点
            ],
            // 统一的样式设置
            lineStyle: {
              color: 'orange',
              width: 2
            }
          },
          {
            coords: [
              [121.472644, 31.231706], // 起点
              [126.642464, 45.756967] // 终点
            ],
            // 统一的样式设置
            lineStyle: {
              color: 'green',
              width: 2
            }
          }
        ],
        //是否显示特效
        effect: {
          show: true,
          symbol: 'arrow',
          symbolSize: 15,
          color: 'red',
          period: 2,
          trailLength: 0.2 //特效尾迹长度[0,1]值越大，尾迹越长重
        }
      }
    ]
  })
})
</script>

<style lang="scss" scoped></style>
